﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ZJK.Models.ExpertManage
{
    using NHibernate;
    using DB_NH.DB_Model.ZJK;
    using DB_NH;

    /// <summary>
    /// 专家抽取预选记录列表
    /// </summary>
    public class ExpertConfirmList
    {
        #region 子类定义
        /// <summary>
        /// 定义查询调价类
        /// </summary>
        public class QueryCondiction
        {
            /// <summary>
            /// 查询的项目ID
            /// </summary>
            public string Q_project_id { get; set; }

            /// <summary>
            /// 查询的项目名称
            /// </summary>
            public string Q_project_name { get; set; }
        }

        /// <summary>
        /// 定义项目备选抽取的详细记录（专家及是否选择信息）
        /// </summary>
        public class ExtractDetail
        {
            /// <summary>
            /// 详细记录ID
            /// </summary>
            public string ID { get; set; }

            /// <summary>
            /// 专家ID
            /// </summary>
            public string expertID { get; set; }

            /// <summary>
            /// 专家姓名
            /// </summary>
            public string expertName { get; set; }

            /// <summary>
            /// 专家手机
            /// </summary>
            public string expertMobile { get; set; }

            /// <summary>
            /// 专家是否被选择
            /// </summary>
            public int expertIsSelected { get; set; }

            /// <summary>
            /// 专家选择信息记录
            /// </summary>
            public string extractLog { get; set; }
        }
        
        /// <summary>
        /// 定义项目抽取备选记录
        /// </summary>
        public class projectExtractBak
        {
            /// <summary>
            /// 项目ID
            /// </summary>
            public string projectID { get; set; }

            /// <summary>
            /// 项目编号
            /// </summary>
            public string projectCode { get; set; }

            /// <summary>
            /// 项目名称
            /// </summary>
            public string projectName { get; set; }

            /// <summary>
            /// 抽取备选记录ID
            /// </summary>
            public string extractID { get; set; }

            /// <summary>
            /// 抽取备选记录标题
            /// </summary>
            public string extractTitle { get; set; }

            /// <summary>
            /// 抽取记录创建时间
            /// </summary>
            public DateTime createDate { get; set; }

            /// <summary>
            /// 抽取记录的备选专家列表
            /// </summary>
            public List<ExtractDetail> extractDetails { get; set; }

            public projectExtractBak()
            {
                extractDetails = new List<ExtractDetail>();
            }
        }
        #endregion


        /// <summary>
        /// 查询条件
        /// </summary>
        public QueryCondiction queryCondiction { get; set; }

        /// <summary>
        /// 项目抽取备选记录列表
        /// </summary>
        public List<projectExtractBak> projectExtractBaks { get; set; }

        /// <summary>
        /// 分页参数：总记录数
        /// </summary>
        public int recordCount { get; set; }

        /// <summary>
        /// 分页参数：每页记录数
        /// </summary>
        public int pageSize { get; set; }

        /// <summary>
        /// 分页参数：总页数
        /// </summary>
        public int pageCount { get; set; }

        /// <summary>
        /// 分页参数：当前页，以0开始
        /// </summary>
        public int pageIndex { get; set; }

        public ExpertConfirmList()
        {
            //初始化分页参数
            this.pageCount = 0;
            this.pageSize = 20;
            this.pageIndex = 0;

            //初始化查询条件类
            queryCondiction = new QueryCondiction();

            //初始化记录列表
            projectExtractBaks = new List<projectExtractBak>();
        }
    }
}